package com.ruoyi.order.service;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.basic.service.IBaseService;
import com.param.concat.IAssignOrderParam;
import com.ruoyi.order.domain.MgOrderAssign;
/**
 * 派稿Service接口
 * 
 * @author ruoyi
 * @date 2024-05-19
 */
public interface IMgOrderAssignService extends IBaseService<MgOrderAssign>
{
	/**
	 * 选择处理人
	 * @return
	 */
	int selectProcessPersonal(IAssignOrderParam param);
	
	/**
	 * 获取该订单最新的处理人且处理人不重复
	 * @param orderId
	 * @return
	 */
	List<MgOrderAssign> getOrderAssigns(long orderId);
	
	/**
	 * 完成订单
	 * @param id
	 * @return
	 */
	int complateOrder(int id);
	
	/**
	 * 获取处理人最大的id
	 * @param orderId
	 * @param processed
	 * @return
	 */
	Integer getOrderAssignsMaxIdForUpdate(
			long orderId,
			long processed);
	
	<P> int updateParam(P parameter);
	
	
	
	/**
     * 获取选择订单及处理人编号
     * @param orderId
     * @param processed
     * @return
     */
	MgOrderAssign selectByOrderIdAndProcessd(
			   int orderId,
			   int processed);
}
